import React, { useEffect, FC, ReactElement } from 'react';
import { connect, history } from 'umi';
import { apiLogin } from '@/server';
import { Button } from 'antd';
import api from 'mock/api';
// console.log(request,'umi')

interface TagProps {
  tag: Number;
}
interface PageProps {
  tag: TagProps;
  dispatch?: any;
}

const Dva: FC<PageProps> = ({ tag, dispatch }) => {
  // 递归细胞分裂面试题：
  // 1个细胞，一个小时分裂一次，生命周期是3个小时，求n小时后容器内，有多少细胞？

  const factor = (n: number): Number | any => {
    if (n === 0) {
      return 1;
    }
    return n * factor(n - 1);
  };
  const getapi = () => {
    apiLogin({
      phone: 13898964123,
      password: 123456,
      captcha: 1234,
      nickname: 'binary1345',
    }).then((res) => {
      // list = res.data;
      console.log(res, 'res');
    });
  };
  // 递归的学习
  useEffect(() => {
    let list = [];

    const fn = () => {
      // getapi();
      console.log(12112);
    };

    fn();
  });

  //   const { dispatch } = props;
  const getData = () => {
    dispatch({
      type: 'tag/fetchTags', // 命名空间/方法
      payload: null,
    });
    history.push('/home');
  };
  return (
    <div>
      <h2>dva的使用 {tag.tag}</h2>
      <Button onClick={getData}> 获取接口数据 </Button>
    </div>
  );
};

// tag 参数 ： 参数类型 =》 参数
export default connect(({ tag }: { tag: TagProps }) => ({ tag }))(Dva);
function getapi() {
  throw new Error('Function not implemented.');
}

function dispatch(arg0: {
  type: string; // 命名空间/方法
  payload: null;
}) {
  throw new Error('Function not implemented.');
}
